home *** CD-ROM | disk | FTP | other *** search
- Only in gemlib.dist: Changelog
- diff -w gemlib.dist/Makefile gemlib.mine/Makefile
- 9,11c9,13
- < AR = $(CROSSBIN)/car
- < CC = cgcc -m68881 -m68020
- < CPP = /lib/cpp
- ---
- > CC=/usr/bin/gcc
-
- > CPP = /lib/gcc-cpp
-
- > MAKE= /usr/bin/make
-
- > AR=/usr/bin/gcc-ar
-
- > LIB=/lib
-
- 13,14d14
- < LIB = $(CROSSLIB)
- < MAKE = /util/gnu/bin/make
- Only in gemlib.mine: README.lack
- Only in gemlib.mine: aes.c
- diff -w gemlib.dist/aesappl.c gemlib.mine/aesappl.c
- 10a11,15
- > * appl_yield aes>=2, yield to other gem apps
-
- > * not yet implemented:
-
- > * appl_bvset a function in aes >= 2, I don't know what it does
-
- > * appl_search aes>=4, multitos, or both??? find info on other running
-
- > * applications
-
- 25a31
- > #define L_appl_yie
-
- 45,49c51,55
- < bzero(_contrl, CNTRLMAX*sizeof(short));
- < bzero(_intin, INTINMAX*sizeof(short));
- < bzero(_intout, INTOUTMAX*sizeof(short));
- < bzero(_ptsin, 2*PTSINMAX*sizeof(short));
- < bzero(_ptsout, 2*PTSOUTMAX*sizeof(short));
- ---
- > bzero(_control, 5*sizeof(short));
-
- > bzero(_int_in, 16*sizeof(short));
-
- > bzero(_int_out, 7*sizeof(short));
-
- > bzero(_addrin, 2*sizeof(void *));
-
- > bzero(_addrout, 1*sizeof(void *));
-
- 54,55d59
- < gl_ap_version = _global[0];
- < gl_apid = _global[2];
- 122a127,174
- > #ifdef L_appl_bvs
-
- >
-
- > /* Another aes 2.0 function. I only have tos 1.4, so I really can't say what
-
- > * this one does. coded control appears in turbo-assembler's aes_vdi.s.
-
- > * appl_bvset(arg1, arg2)
-
- > * {
-
- > * return __aes__(AES_CONTROL_ENCODE(16, 2, 1, 0));
-
- > * }
-
- > */
-
- > #endif /* L_appl_bvs */
-
- >
-
- > #ifdef L_appl_yie
-
- >
-
- > /* I guess this yields to other applications. Only present in aes >= 2;
-
- > * however, making an invalid aes call should accomplish exactly the same
-
- > * thing.
-
- > */
-
- > int appl_yield(void)
-
- > {
-
- > return __aes__(AES_CONTROL_ENCODE(17, 0, 1, 0));
-
- > }
-
- > #endif /* L_appl_yie */
-
- >
-
- > #ifdef L_appl_sea
-
- >
-
- > /* This appears in either tos 4.0 or multitos, it apperantly "allows any
-
- > * application to find the apids of all other applications running
-
- > * concurrently." See xacc2.txt.
-
- > * flag can be either 0 or 1. type appears to be a series of flags that say
-
- > * something about this application. id and name appear self explanatory.
-
- > */
-
- > /*
-
- > int appl_search(int flag, char *name, int *type, int *id)
-
- > {
-
- > int retval;
-
- >
-
- > _int_in[0]=flag;
-
- > _addrin[0]=name;
-
- >
-
- > retval = __aes__(AES_CONTROL_ENCODE(18, 1, 3, 1));
-
- >
-
- > *type=_int_out[1];
-
- > *id=_int_out[2];
-
- > return retval;
-
- > }
-
- > */
-
- > #endif /* L_appl_sea */
-
- >
-
- diff -w gemlib.dist/aesbind.h gemlib.mine/aesbind.h
- 4d3
- < #include <gemfast.h>
- 150c149
- < __EXTERN int shel_envrn __PROTO((char *result, char *param));
- ---
- > __EXTERN int shel_envrn __PROTO((char **result, char *param));
-
- diff -w gemlib.dist/aeshell.c gemlib.mine/aeshell.c
- 76c76
- < int shel_envrn(char *result, char *param)
- ---
- > int shel_envrn(char **result, char *param)
-
- Only in gemlib.mine: aesparams.c
- Only in gemlib.dist: common.c
- diff -w gemlib.dist/common.h gemlib.mine/common.h
- 27c27
- < respectively are 5, 16 and 7 shorts and 2 and 1 longs for
- ---
- > respectively are 5, 16 and 7 shorts and 3 and 1 longs for
-
- 32,37c32,52
- < #define _control (&_contrl[0])
- < #define _int_in (&_intin[0])
- < #define _int_out (&_intout[0])
- < #define _addrin ((void **)(&_ptsin[0]))
- < #define _addrout ((void **)(&_ptsout[0]))
- <
- ---
- > typedef struct aesparams
-
- > {
-
- > int *control;
-
- > int *global;
-
- > int *int_in;
-
- > int *int_out;
-
- > void **addr_in;
-
- > void **addr_out;
-
- > }AESP;
-
- >
-
- > #define _global (_aesparams->global)
-
- > #define _control (_aesparams->control)
-
- > #define _int_in (_aesparams->int_in)
-
- > #define _int_out (_aesparams->int_out)
-
- > #define _addrin (_aesparams->addr_in)
-
- > #define _addrout (_aesparams->addr_out)
-
- >
-
- > extern AESP * const _aesparams;
-
- > /* it won't be changed while seeting up for a trap 2, and will be the same after
-
- > * asm() returns.
-
- > */
-
- 80c95,96
- < #ifndef __IN_COMMON_C__
- ---
- > #ifndef __IN_COMMON_C
-
- > #ifndef __IN_VDI_C
-
- 83,84c99
- < extern unsigned short _contrl[CNTRLMAX], _global[GLOBMAX];
- < extern int gl_apid, gl_ap_version;
- ---
- > extern unsigned short _contrl[CNTRLMAX];
-
- 86c101
- < #endif
- ---
- > #endif /* __IN_VDI_C */
-
- 89c104,126
- < int __aes__(unsigned long coded_control);
- ---
- > # ifndef __NO_GCC_INLINE__
-
- > # define __aes__(coded_control) \
-
- > ({\
-
- > __asm__ volatile\
-
- > (" movel %1, d1;\
-
- > lea %0@, a0;\
-
- > moveq #0, d0; \
-
- > movepl d0, a0@(0);\
-
- > movepl d1, a0@(1);\
-
- > movl %0, d1;\
-
- > movw #0xc8, d0;\
-
- > trap #2;\
-
- > movl %0,__aesparams"\
-
- > : /* no outputs */\
-
- > : "a"(_aesparams), "g"(coded_control) /* inputs */\
-
- > : "d0", "d1", "a0" /* clobbered regs */\
-
- > );\
-
- > (int)_aesparams->int_out[0];\
-
- > })
-
- > # else
-
- > extern int (*__aes__)(unsigned long coded_control);
-
- > # endif /* __NO_GCC_INLINE__ */
-
- > #endif /* __IN_COMMON_C__ */
-
- diff -w gemlib.dist/gemfast.h gemlib.mine/gemfast.h
- 580,584c580,608
- < extern short _intin[], _intout[], _ptsin[], _ptsout[];
- < #ifndef __GNUC__ /* for gcc see common.h in gemlib */
- < extern void *_addrin[], *_addrout[];
- < #endif
- < extern int gl_apid, gl_ap_version;
- ---
- > #ifndef _COMMON_H
-
- > typedef struct aesparams
-
- > {
-
- > int *control;
-
- > int *global;
-
- > int *int_in;
-
- > int *int_out;
-
- > void **addr_in;
-
- > void **addr_out;
-
- > }AESP;
-
- >
-
- > #define _int_in (_aesparams->int_in)
-
- > #define _int_out (_aesparams->int_out)
-
- > #define _addrin (_aesparams->addr_in)
-
- > #define _addrout (_aesparams->addr_out)
-
- > #define gl_apid (_aesparams->global[2])
-
- > #define gl_ap_version (_aesparmas->global[0])
-
- >
-
- > extern AESP *_aesparams;
-
- > extern int(*__aes__)(unsigned long);
-
- > extern int _user_aes(unsigned long);
-
- > extern int _super_aes(unsigned long);
-
- > #endif /*_COMMON_H*/
-
- >
-
- > #define NEW_AESP(x) \
-
- > int __loc_control[5], __loc_global[15], __loc_int_in[16], __loc_int_out[7]; \
-
- > void *__loc_addr_in[3], *__loc_addr_out; \
-
- > AESP x={&__loc_control[0], &__loc_global[0], &__loc_int_in[0], \
-
- > &__loc_int_out[0], &__loc_addr_in[0], &__loc_addr_out}
-
- diff -w gemlib.dist/ident.c gemlib.mine/ident.c
- 2c2
- < char __Ident_gem[] = "$PatchLevel: atariST/TT GnuC gemlib: " PatchLevel " $";
- ---
- > char __Ident_gem[] = "$PatchLevel: (modified for lack.xfs) atariST/TT GnuC gemlib: " PatchLevel " $";
-
- diff -w gemlib.dist/makefile.16 gemlib.mine/makefile.16
- 3,5c3,5
- < CC= gcc
- < CPP= gcc-cpp
- < AR= gcc-ar
- ---
- > CC= \usr\local\bin\gcc.ttp
-
- > CPP= \lib\gcc-cpp
-
- > AR= \usr\bin\gcc-ar.ttp
-
- 8c8
- < LIB = d:\gnu\lib
- ---
- > LIB = \lib
-
- 17c17
- < CFLAGS= $(CFFLAGS) -fomit-frame-pointer
- ---
- > CFLAGS= $(CFFLAGS) -fomit-frame-pointer -D__NO_GCC_INLINE__
-
- 27a28,30
- > debug:
-
- > CFALGS= $(CFLAGS)
-
- >
-
- diff -w gemlib.dist/mincl gemlib.mine/mincl
- 5c5
- < COMSRC = common.c ident.c
- ---
- > COMSRC = aes.c vdi.c ident.c aesparams.c
-
- 9c9
- < appl_tre.o appl_exi.o
- ---
- > appl_tre.o appl_yie.o appl_exi.o
-
- 99c99
- < COMOBJ = common.o ident.o
- ---
- > COMOBJ = aes.o vdi.o super_aes.o ident.o aesparams.o
-
- 101a102,105
- > LACK= $(AESALL) $(COMOBJ)
-
- >
-
- > lack: $(LACK)
-
- > $(AR) rs lackaes.olb $(LACK)
-
- Only in gemlib.mine: vdi.c
-